package com.ht.api.entry;

import java.io.Serializable;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 所有实体类的基类
 * @author asq
 * @createTime 2024年11月28日 16:12:39
 */
@Data
@Accessors(chain = true)
public class BaseModel implements Serializable {

	private static final long serialVersionUID = -216163515563117830L;

	/**
	 * 页码，从1开始
	 */
	private Integer pageNum = 1;

	/**
	 * 页面大小
	 */
	private Integer pageSize = 10;

	/**
	 * 排序
	 */
	private String orderBy;

	/**
	 * 跳过的条数
	 */
	private Integer pageCount = 0;

	/**
	 * 自定义查询条件
	 * 格式如：{\"date\":\"range\",\"remark\":\"like\",\"_group\":{\"name\":\"like\",\"mobile\":\"like\"}}
	 */
	private String ruleJson;

	/**
	 * 计算条数并赋值
	 * @param pageNum
	 * @param pageSize
	 */
	public Integer computePageCount(Integer pageNum, Integer pageSize) {
		if (pageNum <= 0) {
			return 0;
		} else {
			return (pageNum - 1) * pageSize;
		}
	}

}
